package org.example.campusforum.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.campusforum.dto.CommentPublish;
import org.example.campusforum.entity.Comment;

/**
 * 评论服务接口
 *
 * 提供评论相关的业务逻辑处理，包括评论的发布等功能。
 * 继承MyBatis Plus的IService接口，提供基础的CRUD操作。
 *
 * @author CampusForum Team
 * @version 1.0
 * @since 2024
 */
public interface CommentService extends IService<Comment> {

    /**
     * 发布评论
     *
     * 根据评论发布DTO创建新评论，支持顶级评论和回复评论。
     * 将DTO转换为实体对象并保存到数据库。
     *
     * @param comment 评论发布信息，包含文章ID、评论内容、父评论ID等
     */
    void save(CommentPublish comment);
}